The present invention generally relates to the field of software systems, and more specifically, to techniques for generating shortened versions of links, such as uniform resource locators (URLs), that incorporate useful information associated with the links.
Users of the Internet frequently share URLs related to content of interest. For example, a user might share a web page of interest with the user's friends by typing or pasting the URL into an email, into a text message of a social networking or microblogging service, such as TWITTER, or into a message posting to be placed on the user's page on a social networking site, such as FACEBOOK.
However, the length of URLs often proves inconvenient. For example, a URL having a lengthy domain name and/or path may be inadvertently broken across multiple lines when processed by email systems, thus rendering it incapable of being used directly when clicked on by a recipient of the email. Also, microblogging services, social networking sites, and other online messaging systems may impose maximum character requirements on a user's messages, thereby restricting the use of long URLs in a message. Furthermore, long URLs can appear indecipherable and intimidating to users, leading to user reluctance to click on them. Thus, URL shortening services have been created to facilitate the shortening of URLs and the subsequent use thereof. A typical URL shortening service saves a mapping between an original URL and a shortened version thereof. When a user clicks a shortened URL, the user's computer obtains a page from the URL shortening service, which then redirects the user's computer to the original version of the URL that was associated with the shortened version.
However, the use of shortened URLs may introduce problems of its own. A typical shortened URL replaces the domain name of the original URL with that of the URL shortening service. It also strips out the path in the original URL, replacing it with text having no meaningful relationship to the path of the URL or to the content referenced by the URL. For example, a fictitious URL shortening service with a domain name of short.com might shorten the original URL http://www.interestingsite.com/presentations/gkchesterton/2006/essays.html to http://short.com/qwy128, which gives no indication of either the domain (i.e., www.interestingsite.com) or the path (presentations/gkchesterton/2006/essays.html) of the original URL, nor of what the content in essays.html is about. As a result, a user lacks the ability to determine based on the shortened URL either a location to which the original URL points or the properties of the content that it references. This loss of information leads to an increased risk of a user linking via the shortened URL to unanticipated and undesirable content associated with pranks, phishing, shock, and other malicious actions.
Conventional techniques fail to address these problems, either merely providing a random shortened URL that fails to incorporate useful information, or at best allowing users to request a particular shortened URL of their choice but giving no guidance on the choice and no guarantee that their choice will be available. Instead, existing systems force the users to devise shortened URLs and manually type them in and request them from the URL shortening service.
Further, obtaining a shortened URL using conventional techniques is a burdensome manual process. That is, conventional techniques are not integrated into the messaging services or other contexts in which shortened URLs are commonly used. Rather, the user is obliged (for example) to obtain a shortened URL from a URL shortening service, copy it, switch to the appropriate user interface portion of a messaging service by which the URL is shared, paste in the URL into the appropriate portion of the user interface, and compose whatever explanatory message is desired to accompany the shortened URL.